<?xml version="1.0" encoding="UTF-8"?>
<doc>

<title>游戏存档文件相关</title>

<para>
<ptitle>存档的路径</ptitle>
　KAG 存档保存的位置可以在 Config.tjs 的 <tt>saveDataLocation</tt> 处设定。可以和吉里吉里可执行文件位于同一目录、或者保存在(多用户环境下的) 用户文件夹。两种情况下，假如指定的目录下不存在存档子文件夹，都会自动创建。<r/>
<r/>
<bq>
;saveDataLocation = "savedata";<r/>
</bq>
　像这样设定的话，就会简单的在吉里吉里可执行文件所在目录下的 savedata 文件夹里保存档案。<r/>
<r/>
<bq>
;saveDataLocation = System.personalPath + "吉里吉里档案文件";
</bq>
或者
<bq>
;saveDataLocation = System.appDataPath + "吉里吉里档案文件";
</bq>
　像这样设定的话，就会在用户文件夹下创建 "吉里吉里档案文件" 这个文件夹、并在那里保存档案。<r/>
<r/>
　所谓用户文件夹、System.personalPath 指的就是「我的文档」。而如果是在 Windows 95/NT4.0 的情况下，则是 Windows 安装目录下的 "Personal" 文件夹。此外 Windows 95 的早期版本没有类似「我的文档」这样的文件夹，就会改为使用可执行文件所在目录。<r/>
<r/>
<r/>
　设定为 System.appDataPath 的情况下、通常会是以下的效果 ( 会读取注册表 <tt>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders</tt> 的 <tt>AppData</tt> 键值 )。<r/>
<r/>
<dl>
<dt>Windows 95, 98, 98SE, ME 等非多用户环境</dt>
<dd><tt>C:\Windows\Application Data\</tt> ( C:\Windows 的部分即 Windows 的安装位置 )</dd>
<dt>Windows 95 (非初期型), 98, 98SE, ME 等多用户环境</dt>
<dd><tt>C:\Windows\Profiles\&lt;用户名&gt;\Application Data\</tt> ( C:\Windows 的部分即 Windows 的安装位置 )</dd>
<dt>Windows NT 4.0 的情况</dt>
<dd><tt>C:\WINNT\Profiles\&lt;用户名&gt;\Application Data\</tt> ( C:\WINNT 的部分即 Windows 的安装位置 )</dd>
<dt>Windows 2000, Xp 的情况</dt>
<dd><tt>C:\Documents and Settings\&lt;用户名&gt;\Application Data\</tt> ( C: 的部分根据环境而不同 )</dd>
<dt>如果因为某些理由无法读取注册表的键值 ( 参照上面的情况 ) 例如早期的 Windows 95</dt>
<dd>会在吉里吉里可执行文件同目录下建立档案文件夹</dd>
</dl>
<r/>
　设定为 System.personalPath 或者 System.appDataPath 的情况下、同一台电脑安装有多个吉里吉里/KAG 作品时，或者是电脑里其他软件会在同个路径下放置档案文件，那么之前范例所示的 "吉里吉里档案文件" 这部分的起名最好特别一些，以避免和其他的应用程序档案冲突。此外，让命名能够充分说明用途，也是个好办法 ( 例如将文件夹起名为 "&lt;作品名&gt;的存档文件夹" 之类的 )。<r/>
<r/>
<r/>
　存档文件夹的位置 ( 吉里吉里可执行文件所在文件夹、或者用户文件夹 ) ，请根据游戏的发布形式来设置。<r/>
<r/>
　例如、网络发布的游戏，玩家下载以后直接解压即可、或绿色版( 不需要安装 ) ，那么就没有必要将存档文件夹放在用户文件夹下。设置在吉里吉里可执行文件所在文件夹会更方便。<r/>
<r/>
　但是、例如，在多用户环境下，使用安装程序，将游戏安装到 Program Files 内，则存档文件放在用户文件夹 (  System.appDataPath 或 System.personalPath  ) 下会更好一些。特别是 Windows NT 系的 OS ( 4.0/2000/Xp ) 。将游戏安装到 Program Files ，而档案放到用户文件夹下，这样没有权限对 Program Files 进行写入操作的非管理员用户，也可以正常进行、存储游戏。<r/>
　此外、在用户文件夹下保存、就不会对吉里吉里可执行文件所在目录进行写入操作。对直接从 CD-ROM 执行的游戏就很方便 ( 但是 Windows 95 是没有用户文件夹这种东西的、这种情况，不要在 Windows 95 下运行比较好 )。<r/>
<r/>
　可是、System.appDataPath 所指向的文件夹，通常是隐藏文件夹。想让档案容易查看，放在「我的文档」下，也就是 System.personalPath 所指向的路径比较好。<r/>
<r/>
<note>
　此外、<r/>
<bq>;saveDataLocation = Storages.getFullPath(System.readRegValue("HKEY_CURRENT_USER\\Software\\anycompany\\anyproduct\\savefolder"));</bq><r/>
　也可以用类似这样的形式读出注册表里存档文件夹所在的位置。<r/>
</note>
<r/>
</para>

<para>
<ptitle>自由存档模式</ptitle>
　KAG 存档管理有两种方法。<r/>
<r/>
<ul>
<li>在预设的存档文件夹下保存档案模式</li>
<li>由玩家选择保存到任意文件夹(自由存档模式)</li>
</ul>
<r/>
　这些可以在 Config.tjs 的 <tt>freeSaveDataMode</tt> 处设定。<r/>
<r/>
　「在预设的存档文件夹下保存档案模式」的情况、菜单栏的「保存档案」「读取档案」下，会列出存档栏，只要点击对应的一行，就可以进行存取操作。<r/>
<r/>
　以此对应的「自由存档模式」是自 KAG3 3.09 beta 5 后可以使用的功能、选择「保存档案」或「读取档案」后，会跳出WINDOWS的文件选择对话框、可以自由为存档文件命名，并保存到自行选择的文件夹。<r/>
<r/>
　「在预设的存档文件夹下保存档案模式」下，可以限制最大存档数量。<r/>
<r/>
　「自由存档模式」下，最大存档数量没有限制。各存档文件可以分开管理。使用文件夹进行分类，为文件起名和加入注释都是可以的。也可以使用Explorer将存档文件自由移动。假如想要保护某个重要的存档不被误删，请将文件设成「只读」即可。<r/>
　「自由存档模式」下，默认的存档文件名是可存档标签竖线后面的「提示语」。<r/>
<r/>
　「自由存档模式」下，有一点必须要注意。尤其是和系统变数有密切关联的游戏。例如、作品重新安装，系统变数没有保留的情况下，载入旧存档可能会出现错误 ( 特别是对制作者…… )。<r/>
　即使是自由存档模式，系统变数、系统状态（例如窗口/全屏、字体）等的记录，也是保存在上面提到的「存档的路径」下。<r/>
<r/>
　此外，为了自由存档的档案文件不会和其他的吉里吉里/KAG作品档案混起来。可以对 Config.tjs 的 saveDataID 进行设定 ( 按照默认设定也是可以的，但不保证不出问题 )。<r/>
　saveDataID 是会被记入每个档案文件的标记。为了不和其他的吉里吉里/KAG作品（例如其他人做的游戏）混用存档，给作品设定专属 ID 是很有必要的。这里指定的 ID 只是为了区别档案文件使用，没有必要特别说明。使用关键字自行输入，长度 30 字也可以。如果觉得自己想 ID 很麻烦，请使用 <at target="_top" href="http://kikyou.info/uuidgen/uuidgen.php">http://kikyou.info/uuidgen/uuidgen.php</at> 自动生成 ID 。 ( 这里生成的 ID ，基本上是不可能和其他 ID 重名的 )。<r/>
</para>


<para>
<ptitle>缩略图的保存</ptitle>
　Config.tjs 的 <tt>saveThumbnail</tt> 设为 true 的情况下，存档文件的扩展名会变成 .BMP ，既是图片，又是有效的档案文件。这种情况下，图片的内容是保存时，游戏画面的小截图 (缩略图) 。因为不是存档可能标签所在位置的截图，读取档案的时候，并不会回到这个画面，而是回到之前最近一个可存档标签的位置 (也就是说缩略图显示的图象和读取后显示的游戏画面可能会有错位)。<r/>
像这样，特别是自由存档模式的情况下，使用Explorer或者画像管理软件的缩略图功能，就可以方便地管理游戏档案了。此外，自由存档模式的文件选择窗口里，选择查看-「缩略图」的话，就可以直接看到图片档案了。<r/>
<r/>
带有缩略图的存档文件，虽然和普通的 BMP 文件无异，可以使用图片处理软件查看。但是，使用其他图片处理软件编辑的话，存档信息就会丢失，这一点请注意。<r/>
<r/>
　使用右键菜单/自制存取界面的情况，保存档案为缩略图时，也有一些注意事项（请参考指令 locksnapshot 和 unlocksnapshot ）。<r/>
</para>


<para>
<ptitle>游戏版本更新与档案的可继承性</ptitle>
　在 KAG 里，存储、读取时必须要通过可存档标签，因此，一定程度上可以保证当剧本档内容改变的时候，旧的档案依然可以正常使用。<r/>
　但以下将列出一些典型的、档案无法继承的情况。<r/>
<r/>
<ul>
<li>剧本档中，可存档标签名改变或者被删除（无法从这个标签开始继续进行游戏）</li>
<li>进行事件呼叫后返回，但返回处的剧本已被改变（无法返回呼叫时所在的正确位置）</li>
</ul>
<r/>
像这样的情况是可能发生的。<r/>
<r/>
　使用游戏补丁进行版本更新的情况下，请注意这些。<r/>
</para>

</doc>